package com.ruoyi.invoice.domain;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 发票凭证明细对象 invoice_template_detail
 * 
 * @author ruoyi
 * @date 2025-03-05
 */
public class InvoiceTemplateDetail
{
    private static final long serialVersionUID = 1L;

    /** 明细ID */
    @TableId(type = IdType.AUTO)
    private Long id;

    /** 发票凭证模版ID */
    @Excel(name = "发票凭证模版ID")
    private Long templateId;

    /** 摘要ID */
    @Excel(name = "摘要ID")
    private Long summaryId;

    /** 会计科目ID */
    @Excel(name = "会计科目ID")
    private Long subjectId;

    /** 方向（借或贷，0表示借，1表示贷） */
    @Excel(name = "方向", readConverterExp = "借=或贷，0表示借，1表示贷")
    private Long direction;

    /** 取值（0不含税金额、1税额、2价税合计） */
    @Excel(name = "取值", readConverterExp = "0=不含税金额、1税额、2价税合计")
    private Long valueType;

    /** 金额 */
    @Excel(name = "金额")
    private BigDecimal amount;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setTemplateId(Long templateId) 
    {
        this.templateId = templateId;
    }

    public Long getTemplateId() 
    {
        return templateId;
    }
    public void setSummaryId(Long summaryId) 
    {
        this.summaryId = summaryId;
    }

    public Long getSummaryId() 
    {
        return summaryId;
    }
    public void setSubjectId(Long subjectId) 
    {
        this.subjectId = subjectId;
    }

    public Long getSubjectId() 
    {
        return subjectId;
    }
    public void setDirection(Long direction) 
    {
        this.direction = direction;
    }

    public Long getDirection() 
    {
        return direction;
    }
    public void setValueType(Long valueType) 
    {
        this.valueType = valueType;
    }

    public Long getValueType() 
    {
        return valueType;
    }
    public void setAmount(BigDecimal amount) 
    {
        this.amount = amount;
    }

    public BigDecimal getAmount() 
    {
        return amount;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("templateId", getTemplateId())
            .append("summaryId", getSummaryId())
            .append("subjectId", getSubjectId())
            .append("direction", getDirection())
            .append("valueType", getValueType())
            .append("amount", getAmount())
            .toString();
    }
}
